/*
 * @Author: Wxx
 * @Date: 2022-02-21 15:42:57
 * @LastEditors: Wxx
 * @LastEditTime: 2022-02-21 16:05:08
 * @Description:
 */
import React, { Component } from "react";

export default class App extends Component {
  state = {
    name: "冰墩墩",
  };
  render() {
    return (
      <div>
        <button
          onClick={() => {
            this.setState({
              name: "雪融融",
            });
          }}
        >
          click
        </button>
        {this.state.name}
      </div>
    );
  }
  shouldComponentUpdate(nextProps, nextState) {
    // if (nextState.name !== this.state.name) {
    //   return true; // 应该更新
    // }
    // 如果状态很多 可以直接对比转成json的字符串是否一致
    if (JSON.stringify(nextState) !== JSON.stringify(this.state)) {
      return true; // 应该更新
    }
    return false; // 阻止更新
  }
  UNSAFE_componentWillUpdate() {
    console.log("UNSAFE_componentWillUpdate");
  }
  componentDidUpdate() {
    console.log("componentDidUpdate");
  }
}
